const defaultConfig: object = {
  // 默认配置
  group: 'main', // 组件分组
  icon: 'fluent:password-20-regular', // 图标
  title: '密码框', // 组件标题
  show: true, // 是否显示
  level: [], // 层级

  component: {
    // 组件
    component: null, // 展示组件
    config: null, // 配置组件
  },

  type: 'password', // 组件类型

  options: {
    // 组件配置项
    name: '',
    id: '', // ID
    ref: '', // 编号
    class: '', // 类名称
    value: '', // 默认值
    prompt: '', // 提示信息

    /***********************属性设置*****************************/
    label: '密码框', // 标签名称
    labelWidth: {
      // 标签宽度
      value: '', // 值
      unit: 'px', // 单位
    },
    labelHide: false, // 是否隐藏标签
    required: false, // 是否必填
    disabled: false, // 是否禁用
    readonly: false, // 是否只读
    placeholder: '', // 占位符

    clearable: false, // 是否显示清除按钮
    maxlength: 0, // 最大长度
    minlength: 0, // 最小长度

    /***********************样式设置*****************************/
    padding: {
      // 内边距
      top: '',
      right: '',
      bottom: '',
      left: '',
    },
    margin: {
      // 外边距
      top: '',
      right: '',
      bottom: '',
      left: '',
    },
    frame: {
      // 边框
      top: {
        type: '', // 类型
        coarseAndFine: {
          // 粗细
          value: '', // 数值
          unit: 'px', // 单位
        },
        colour: '', // 颜色
      },
      right: {
        type: '', // 类型
        coarseAndFine: {
          // 粗细
          value: '', // 数值
          unit: 'px', // 单位
        },
        colour: '', // 颜色
      },
      bottom: {
        type: '', // 类型
        coarseAndFine: {
          // 粗细
          value: '', // 数值
          unit: 'px', // 单位
        },
        colour: '', // 颜色
      },
      left: {
        type: '', // 类型
        coarseAndFine: {
          // 粗细
          value: '', // 数值
          unit: 'px', // 单位
        },
        colour: '', // 颜色
      },
      middle: {
        type: '', // 类型
        coarseAndFine: {
          // 粗细
          value: '', // 数值
          unit: 'px', // 单位
        },
        colour: '', // 颜色
      },
    },
    sizes: {
      // 尺寸
      overflow: '', // 溢出
      width: {
        // 宽度
        value: '', // 值
        unit: 'px', // 单位
      },
      height: {
        // 高度
        value: '', // 值
        unit: 'px', // 单位
      },
      minWidth: {
        // 最小宽度
        value: '', // 值
        unit: 'px', // 单位
      },
      minHeight: {
        // 最小高度
        value: '', // 值
        unit: 'px', // 单位
      },
      maxWidth: {
        // 最大宽度
        value: '', // 值
        unit: 'px', // 单位
      },
      maxHeight: {
        // 最大高度
        value: '', // 值
        unit: 'px', // 单位
      },
    },
    borderRadius: {
      // 圆角
      topLeft: {
        // 左上角
        value: '', // 值
        unit: 'px', // 单位
      },
      bottomLeft: {
        // 左下角
        value: '', // 值
        unit: 'px', // 单位
      },
      topRight: {
        // 右上角
        value: '', // 值
        unit: 'px', // 单位
      },
      bottomRight: {
        // 右下角
        value: '', // 值
        unit: 'px', // 单位
      },
    },
    font: {
      // 字体
      size: {
        // 大小
        value: '',
        unit: 'px',
      },
      rowHeight: {
        // 行高
        value: '',
        unit: 'px',
      },
      spacing: {
        // 子间距
        value: '',
        unit: 'px',
      },
      weight: '', // 粗细
      modify: '', // 修饰
      textAlign: '', // 对齐方式
    },
    colour: '', // 颜色
    backgroundColour: '', // 背景颜色
    transparency: 100, // 透明度
    scale: 100, // 缩放
    customizeStyle: [], // 自定义样式
  },

  event: {
    // 事件
    value: [],
    option: [
      'blur', // 元素失去焦点的事件
      'focus', // 元素获得焦点时触发
      'change', // 内容改变且失去焦点后
      'input', // 实时输入（每输入一个字符）事件
      'clear', // 清空事件
    ],
  },

  validate: {
    // 验证规则选项

    /**
     *
     */
    value: [],
    required: {
      // 是否必填
      required: false, // 是否必填
      msg: '', // 提示信息
      trigger: 'blur', // 触发方式
    },
    option: [
      'string', // 字符串
      'url', // url
      'email', // 邮箱
    ],
  },
};

export default defaultConfig;
